A restaurant service usually includes hundreds or thousands participating restaurants. The restaurant service aggregates the participating restaurants' menus, each of which includes a plurality (meaning more than one) of menu items. Each menu item has a title (meaning a name), a description about the menu item and attributes, such as price and type (drink, appetizer, entrée, dessert, etc.). The menus and menu items are stored in a database within a restaurant service system that empowers and provides the restaurant service. The restaurant service system also stores additional information about the participating restaurants. For example, the location, cuisine type (such as pizza or Mexican food), service hours, types of services, delivery area, and various service fees of each participating restaurant are stored in the database.
The restaurant service system is usually accessible over the Internet. Diners use computers (such as desktop computers, laptop computers, tablet computers, smartphones, or personal digital assistant (“PDAs”)) to access web pages provided by the restaurant service system. The web pages allow the diners to search and find desired restaurants and menu items for the purpose of building and placing food orders. The restaurant service system then sends the orders to the respective serving restaurants for the orders.
To search for a desired restaurant to place a food order, a diner enters his search criteria (also referred to herein as search terms and search data), such as his address, a restaurant name, or a menu item. For example, the diner keys in his street address, city, state and desired food type. The search data is then sent to a server within the restaurant service system. The server accesses the database and retrieves a list (meaning zero or more) of restaurants meeting the search criteria. For example, each restaurant in the list is within a predefined radius from the address he entered, and serves the type of food matching the entered cuisine type.
The diner then chooses a restaurant, and builds an order with selected menu items of the selected restaurant. Once the food order is built and placed, the restaurant service system receives the order, stores the order into the database, and forwards the order the selected restaurant (meaning the serving restaurant for the placed order). The serving restaurant prepares the order before the order is delivered to the diner by a delivery service. The delivery service carries the prepared food order from the restaurant to the addresses of the diner.
Conventional restaurant services present numerous shortcomings in meeting diners' needs. A conventional restaurant service maintains a collection menus and menu items. Two menu items from two different restaurants may indicate the same dish (such as Chicken Pad Thai), but have different menu item titles. The different menu names cause the conventional restaurant service to treat the two menu items as two unrelated menu items, and thus provide inferior food search results. In addition, the conventional restaurant service fails to understand and take advantage of important information provided by diners' search terms. For example, diners often enter dish attributes (such as healthy, vegan, and Halal) indicating their food search intent. Failure of understanding the dish attributes and diners' intent produces undesirable food search results and food recommendation. The problem is further compounded by hyper-locality or restaurant data making relevant recommendations very difficult due to data scarcity. In other words it is very difficult to find similar users, dishes, or restaurants since every menu item is unique. Accordingly, there is a need for an improved restaurant service that incorporates a food taxonomy including dishes, dish attributes and dish ingredients. The improved restaurant service uses the food taxonomy to provide superior food search results and recommendation, and rich navigation and discovery capabilities. In addition, the improved restaurant service determines the food search intent of diners and provided more related search results and food recommendations matching their food search intent.